package section1_10;


import java.util.concurrent.TimeUnit;

/**
 * Created by Hyman on 2017/4/24.
 *
 * 线程局部变量的使用
 */
public class SafeMain {

    /**
     * 线程局部变量分别为每个线程存储了各自的属性值.并提供给每个线程使用。
     * 你可以使用get()方法读取这个值，并用set()方法设置这个值。
     * 如果线程是第一次访问线程局部变量，线程局部变量可能还没有为它存储值，这个时候initialValue()方法就会被调用，并且返回当前的时间值
     * @param args
     */
    public static void main(String[] args) {

        // 创建一个任务
        SafeTask task = new SafeTask();

        // 将任务放入三个不同的线程中运行
        for (int i = 0; i < 3; i++) {
            Thread thread = new Thread(task);
            try {
                TimeUnit.SECONDS.sleep(2);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            thread.start();
        }

    }
}
